<?php
namespace includes;

global $database;
if($_POST) {
    
	$validForm = true;
	
	$formFields = array('gastnaam', 'gastaccnr', 'datum', 'tijd', 'baantype', 'opmerkingen', 'medewerker', 'baannr');
	$checkedFields = array('gastnaam', 'gastaccnr', 'datum', 'medewerker');
	$_POST['datum'] = DutchDateConversion::formatDate($_POST['datum']);
	
	
	foreach($checkedFields as $field) {
	    if(empty($_POST[$field])) {
		$errors[$field] = '';
	    }
	}
	
	if(!empty($_POST['betaald'])) {
		$form['betaald'] = 1;
	}
	else {
		$form['betaald'] = 0;
	}
	
	if(empty($_POST['gastnaam'])) {
	    $errors['gastnaam'] = "Vul een naam in";
	    $validForm = false;
	}
	
	if(empty($_POST['gastaccnr'])) {
	    $errors['gastaccnr'] = "Vul een accommodatienummer in";
	    $validForm = false;
	}
	elseif(!is_numeric($_POST['gastaccnr'])) {
	    $errors['gastaccnr'] = "Vul een geldig nummer in";
	    $validForm = false;
	}
	
	if(!strtotime($_POST['datum'])) {
	    $errors['datum'] = "Vul een geldige datum in";
	    $validForm = false;
	}
	
	if(empty($_POST['medewerker'])) {
	    $errors['medewerker'] = "Vul een naam in";
	    $validForm = false;
	}
	
	if($validForm) {
	    foreach($formFields as $field) {
		$form[$field] = htmlspecialchars($_POST[$field]);
	    }
	    
	    if(empty($_POST['reserveringnr'])) {
		$query = sprintf("INSERT INTO bowling (baannr, gastnaam, gastaccnr, tijd, datum, baantype, opmerking, aangenomen_door, betaald)
						  VALUES (%d, '%s', %d, '%s', '%s', %d, '%s', '%s', %d);",
						  mysql_real_escape_string($form['baannr']),
						  mysql_real_escape_string($form['gastnaam']),
						  mysql_real_escape_string($form['gastaccnr']),
						  mysql_real_escape_string($form['tijd']),
						  mysql_real_escape_string($form['datum']),
						  mysql_real_escape_string($form['baantype']),
						  mysql_real_escape_string($form['opmerkingen']),
						  mysql_real_escape_string($form['medewerker']),
						  mysql_real_escape_string($form['betaald']));
		$database->query($query);
		echo $database->affected_rows();
		
		/*echo "Reservering Succesvol gemaakt";
		
		echo "<meta http-equiv='refresh' content=1;url=?page=bowling&dag=".$form['dag']."&maand=".$form['maand']."&jaar=".$form['jaar']."#".$form['tijd']." />";*/
		
		exit();
	    }
	    else {
		echo "update test";
	    }	
	}
	else {
	    echo"<p>De volgende fouten zijn opgetreden: <br />";
	    foreach($errors as $error) {
		echo "- $error";
	    }
	    echo"</p>";
	}
}

function addField($label, $type, $name, $class, $id, $value) {
    if($_POST) {
	$value = $_POST[$name];
    }
    elseif(isset($_GET['reserveringnr'])) {
	$sql = "SELECT $value FROM bowling WHERE reserveringnr = {$_GET['reserveringnr']} LIMIT 1;";
	$result = mysql_query($sql) or die("Er zijn fouten bij het opvragen van gegevens uit de database: ".  mysql_error());
	mysql_num_rows($result) > 0 ? $row = mysql_fetch_assoc ($result) : $row = '';
	$value = $row[$value];
    }
    else {
	$value = '';
    }
    if($id == 'datepicker') {
	$day = '%e';
	// Check for Windows to find and replace the %e 
	// modifier correctly
	if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
	    $day = preg_replace('#(?<!%)((?:%%)*)%e#', '\1%#d', $day);
	}
	$currentDate = strtotime($value) ? strtotime($value) : strtotime("{$_GET['jaar']}-{$_GET['maand']}-{$_GET['dag']}");
	
	$value = strftime("$day %B %Y", $currentDate);
    }
    $required = preg_match("/required/", $class) ? '*' : '';
    return "<tr><td><label for='$name'>$label:</label></td><td>$required</td><td><input type='$type' name='$name' class='$class' id='$id' value ='$value' /></td></tr>";
}
?>

<fieldset> 
    <legend>Reservering maken</legend>
    <form method='post' id='maak_reservering'>
	<table>
<?php 
echo addField('naam', 'text', 'gastnaam', 'required', '', 'gastnaam');
echo addField('Accommodatienummer', 'text', 'gastaccnr', 'required number', '', 'gastaccnr');
echo addField('Datum', 'text', 'datum', 'required date', 'datepicker', 'datum'); ?>
	    <tr><td><label for="tijd">Tijd: </label></td><td></td>
		<td><select name='tijd'>
					    <?php
						    for($i=10;$i<=21;$i++) {
							$tijd = explode(":",@$_POST['tijd']);
							
							if(!$_POST && $i == @$_GET['tijdres']) {
								$selected = 'selected';
							}
							elseif($_POST && $i == $tijd[0]) {
								$selected = 'selected';
							}
							else {
								$selected = '';
							}
							echo"<option value='$i:00' $selected>".$i.":00"."</option>";
						    }
					    ?>
			    </select></td></tr>
	<tr><td><label for='baantype'>Baantype:</label></td><td></td>
			    <td><select name='baantype'>
				    <?php
				    $baantypes = array('Kinderbaan', 'Normale baan');
				    for($i=1;$i>=0;$i--) {
					    echo "<option value='$i'>$baantypes[$i]</option>";
				    }
				    ?>
			    </select></td></tr>
<?php 
echo addField('Opmerkingen', 'text', 'opmerkingen', '', '', 'opmerking');
echo addField('Medewerker', 'text', 'medewerker', 'required', '', 'aangenomen_door');
?>
	
	<tr><td><label for='betaald'>Betaald: </label></td><td></td>
			<td><input type='checkbox' name='betaald' id='check'
			    <?php 
			    if($_POST && !empty($betaald)) {
				echo "checked";
			    }
			    elseif(isset($_GET['reserveringnr'])) {
				$sql = "SELECT betaald FROM bowling WHERE reserveringnr = {$_GET['reserveringnr']} LIMIT 1;";
				$result = mysql_query($sql) or die("Er zijn fouten bij het opvragen van gegevens uit de database: ".  mysql_error());
				mysql_num_rows($result) > 0 ? $row = mysql_fetch_assoc ($result) : $row = '';
				if(!empty($row['betaald']))
				    echo "checked";
			    }
			    ?>
				/><label for='check'>Betaald</label></td></tr>
		    <tr>
			    <td></td><td></td>
			    <td><input type='submit' name='submit' value='Verzend' /></td>
		    </tr>
	    </table>
	    <input type='hidden' name='baannr' value='<?php echo $_GET['baannr'] ?>' /> 
	    <?php
	    if(isset($_GET['reserveringnr'])) {
		echo "<input type='hidden' name='reserveringnr' value='".$_GET['reserveringnr']."' />";
	    }
	    ?>
    </form>
    <p>Velden met * zijn verplicht</p>
</fieldset>